Barcodes are widely used in a variety of commercial endeavors. For example, barcodes are commonly used in mailing and shipping businesses to help track packages in transit. Barcodes are also used by retailers such as bookstores, grocery stores, and the like. Generally, barcode usage can be divided into two broad categories wherein: (1) the barcode system is generated to match an industry standard barcode or (2) the organization generates a unique barcode system and barcode for specialized use by the organization.
Barcode systems are often designed to comply with an industry standard. For example, book retailers design inventory and point of sale systems to handle the industry standard barcodes that publishers imprint on their books. These systems often include proprietary features that are not shared with competitors, for example, to target sales promotions to customers' past purchases; but every retailer's system must be compatible with the industry standard barcodes. Unfortunately, not all industries have established such a standard. In some industries, each organization can simply create unique barcodes.
A given organization may generate a specialized barcode which is generally only usable by the organization itself. For example, commercial shipping organizations have been known to develop barcode systems for use by their own organization. Since the barcode is only used for internal purposes, the organization may gain a competitive advantage by including proprietary information, such as a route number, on their barcodes and keeping their barcode system proprietary. For example, within the shipping industry, each individual shipping organization may have its own unique barcode and barcode system which cannot easily be adapted to the barcode system of the competing organizations.
Context also plays a role in barcode systems. For example, book retailers may scan the barcodes on books when adding them to inventory, and may scan the books again when they are sold. At the time of sale, the retailer may scan barcodes on coupons to determine discounts, and may scan barcodes on preferred customer cards to award bonuses. Clearly, the system must be able to distinguish a book from a coupon from a preferred customer card. When books are added to inventory, the barcode scanning system may look up the wholesale cost of the book, while at the time of sale, the barcode scanning system may look up the retail price. Sophisticated barcode systems use the same barcode in different ways depending upon context, and must be able to distinguish between different types of barcodes, also depending upon context.
The context may be determined by which system on a network initiates the barcode scan, or by which application program is currently active when the scan is initiated, or by which window in a particular application program is active, or by the location of the cursor within a particular window, or by any combination of these. For example, within a particular window, there may be a field for the entry of products being purchased, and a different field for the entry of coupons or discount codes.
Unfortunately, difficulties arise when providing products or systems to several organizations which have no established standard. In such situations one call never be certain what format of barcode has already been deployed by the end customer. When the organization in question utilizes products and services that are provided by multiple venders the situation becomes even more complex. The barcodes required by some systems may be incompatible with the barcodes supported by other systems, necessitating the manual entry of data in situations where the required data is already available on barcodes. The medical care industry is one such industry that suffers from the aforementioned problems.
In the medical industry centralized patient monitoring stations have begun to appear in hospitals. Such centralized stations receive data from multiple locations and permit a small number of medical personnel to monitor a large number of patients. Naturally, such stations are heavily computerized. It would be desirable to allow hospitals to enter data into their computer systems without keyboard input. Such an entry system would help to reduce data entry errors. One method for entering data into a computer system without using keyboard input utilizes barcodes.
While using barcodes to perform keyless entry of data may appear ideal, the medical industry currently suffers from a number of complications that have prevented the implementation of such a system. The primary deficiency is the lack of an accepted barcode standard. For example the hospital may build or acquire a hospital information system, including barcode printing and barcode scanning capabilities, which handles patient admission, discharge, transfer, billing, as well as equipment inventory, personnel assignment, etc. This system likely uses barcodes for patient wristbands, employee badges, equipment inventory tags, laboratory samples, pharmacy labels, etc. The hospital also acquires other equipment, such as patient monitors, infusion pumps, central patient monitoring systems, etc, that typically has not been designed to work with the barcodes used by the hospital information system. Clearly, the hospital is not able to adapt their barcodes to accommodate the requirements of all the other equipment that they acquire. The result is that data such as patient names and ID numbers must, in some cases, be manually entered into the hospital information system (such as central patient monitoring systems), since this equipment is typically not capable of scanning every possible variation of barcode that may be found in various hospitals. Unfortunately, when a wristband is scanned, the central station has no way to determine how to interpret the data. For example, one hospital may use patient wristbands which contain a patient name (last name first) followed by a medical record number, a second hospital may use patient wristbands which contain the medical record number, followed by the patient's date of birth, gender, and patient name (first name first), and a third hospital may encode only the medical record number (without the name) on the barcode. Merely telling the station “Smith, John 19420517” is insufficient. A computer views such a string as a mere series of characters. The computer is unable to “see” a name followed by a series of numbers. Additionally, the station cannot determine if the number is a patient identification number, a date of birth, or some other number, nor can the computer differentiate a first name from a last name. Moreover, some hospitals use barcodes that present data in a format that is different from the barcode format of other hospitals. For example, a patient's name may be presented as “Smith, John,” “John Smith,” “John B. Smith,” “J. B. Smith,” or any of the other possible modes of presentation. A similar quandary occurs when considering date formats. Possible date formats include, for example, May 17, 1942; 05-17-1942; 5-17-42; 05-17-42; 17-5-42; 17-May-42, along with many others. When one considers the use of two dimensional barcodes which encode for multiple data elements, the problem of reading multiple barcode formats appears staggering.
Therefore, a method for processing barcode data is desired wherein the data can be provided to a software application in an acceptable format, regardless of the initial format of the data.